# OpeniBoot

OpeniBoot is an unofficial [bootloader](bootloader.md) for older [Apple](apple.md) iThings that can run unsigned code, unlike iBoot. It is pretty buggy and the latest version is 0.3, it is made for booting [Android](android.md) on iThing, but it can also boot GNU/Linux along with typical iPhoneOS. OpeniBoot is licensed under GPLv3 making it free software (though it has the word ["open"](open_source.md) in its name which is bad) and its source code can be found on [GitHub](github.md). {Though I haven't been able to compile it yet, it hasn't been maintained for years. ~dolphinana}

OpeniBoot prior to version 0.3 have a menu with nice bloated graphics but are less flexible. OpeniBoot 0.3 have a [grub-like](grub.md) menu and requires menu.lst file (placed in /var/ ?).

{For some reason, OpeniBoot didn't work on iThing with iPhoneOS 4.2.1 so I "downgraded" to version 3.1.2 and it worked, though OpeniBoot console only worked on OpeniBoot 0.1 ;-;  ~dolphinana}

OpeniBoot supports:

- iPhone1,1 (iPhone)
- iPhone1,2 (iPhone 3G)
- iPhone1,3 (iPhone 3GS) -partially
- iPhone1,4 (iPhone 4) -partially
- iPod1,1 (iPod Touch)
- iPad1,1 (iPad) -partially?

{The info above might be incorrect, I'll fix it soon.  ~dolphinana}



{TODO: Create a fork of OpeniBoot, improve it and maybe rename it to Libre-iBoot? ~dolphinana}



## Cheatsheet


### OpeniBoot 0.1

- !zImage                                  - Loads a file named zImage from your computer into the phone.
- kernel                                   - Loads the kernel into memory, use !file command first.
- ramdisk                                  - Loads the ramdisk into memory, use !file command first.
- boot (arguments)                         - Boot the kernel, pass arguments such as "root=/dev/ram0".
- reboot                                   - Reboot the phone.
- install                                  - Install OpeniBoot onto the phone.
- uninstall                                - Uninstall OpeniBoot from the phone.
- fs_ls (partition num) (directory)        - List directories in filesystem.
- fs_cat (partition num) (file)            - Concatenate a file.
- vibrator_loop (arguments)                - Run this command to vibrate your gud ol' pussy xD {It doesn't work tho ;-;  ~dolphinana}
- vibrator_off                             - Afta ya coomed.

TODO: Moar
